//
//  PowerOfTwoArea.h
//  MemoryManager
//
//  Created by Bram Buurlage on 6/29/12.
//  Copyright (c) 2012 Bram Buurlage. All rights reserved.
//

#ifndef MemoryManager_PowerOfTwoArea_h
#define MemoryManager_PowerOfTwoArea_h

#include "Area.h"

class PowerOfTwoArea: public Area
{
public:
	PowerOfTwoArea( int base, int size );
    
	int	getBase() const { return Area::getBase() + sizeof(header); }
	int	getSize() const { return Area::getSize() - sizeof(header); }
    
private:
    friend class BuddyAllocator;
    friend class BuddyListHeader;
    friend class FreeListAllocator;
    friend class ListHeader;
    void* header;
};


#endif
